<!DOCTYPE html>
<html lang="zh">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>字符串的正则方法</title>
    <script>
        /* 
        
        split()
            可以根据正则表达式来对一个字符串进行拆分
        search()
            可以去搜索符合正则表达式的内容第一在字符串中出现的位置
            和indexOf()很像，找不到就返回-1,区别不同的是search()可以传正则表达式
        replace()
            根据正则表达式替换字符串中的指定内容

        match()
            可以根据正则表达式去匹配字符串中符合要求的内容，
            和exec()差不多，但是match是字符串的方法，exec()是正则表达式去调用,且exec()需要多次调用才能依次查询到后续的，还能分组，但是match()不能分组
            serach()和indexOf()是搜索引，match()是返回符合的字符串

        matchAll()
            根据正则表达式去匹配去匹配字符串中符合要求的内容（正则表达式必须设置g，全局匹配）,正则表达式能分组
            它返回的是一个迭代器，需要用for of去遍历
        */



        let str = "1@2@3@4"
        console.log(str.split("@"))

        let str1 = "孙悟空abc猪八戒adc沙和尚"

        re = /a[bd]c/
        console.log(str1.split(re))

        console.log(str1.search("abc"))

        let str2 = "a13152617854ficiis velit 124molestias nece15264859854ssitati4578bucs a ipsam dele200014159991niti? Quas nem12o harum, 15195605421upiditate aper45iam54 inv78ntore sapiente illum dignissimos, labore, doloremque quae minus sequi nihil?"

        console.log(str2.search(/1[3-9]\d{9}/))

        console.log(str2.replace(/1[3-9]\d{9}/g, "哈哈哈"))

        console.log(str2.match(/1[3-9]\d{9}/g));

        result = str2.matchAll(/1[3-9]\d{9}/g);
        for (let item of result) {
            console.log(item[0])
        }

    </script>
</head>

<body>

</body>

</html>